1. Field of the Invention
The present invention relates to a device and method for cancelling code interference in a CDMA (Code Division Multiple Access) communication system, and more particularly, to a device and method for cancelling mutual interference between orthogonal codes and quasi-orthogonal codes (QOCs) in a CDMA communication system where the orthogonal codes coexist with the quasi-orthogonal codes.
2. Description of the Related Art
In a CDMA communication system, orthogonal codes provide orthogonal channelization among all code channels, and the maximum number of available code channels is determined by the length of the longest orthogonal code. Walsh codes are typical orthogonal codes used in a CDMA system, and thus any reference to orthogonal codes herein below refers to Walsh codes. If an orthogonal channel with orthogonality is assigned as dedicated to a transmitter/receiver from a call set-up to a call release, the number of available channels becomes limited and channels may not be available for assignment to every subscriber. To allow all subscribers to use the CDMA system, quasi-orthogonal codes are used due to their minimal loss of orthogonality relative to other codes, even though they lack full orthogonality.
A quasi-orthogonal code is generated by EX-ORing the longest orthogonal code used in the system with a quasi-orthogonal code mask as long as the longest orthogonal code in order to minimize orthogonality loss. U.S. Ser. No. 09/149,924 filed on Sep. 9, 1998 describes binary Quasi-orthogonal code mask generation, quasi-orthogonal code generation and the usage of Quasi-orthogonal codes. Quasi-orthogonal codes are characterized in that orthogonality between orthogonal code symbols using the same quasi-orthogonal code mask is maintained and orthogonality loss between quasi-orthogonal codes using different quasi-orthogonal code masks is minimized.
where W=an Nxc3x97N Walsh matrix and Fi=a1xc3x97N row vector.
(1) 16-ary quasi-orthogonal masks of size 512 are:
F1=77B4B477 774BB488 87BB4478 78BBBB78 77B44B88 774B4B7778444478 8744BB78
77B4B477 774BB488 87BB4478 78BBBB78 77B44B88 774B4B77 78444478 8744BB78
F2=7E4DDBE8 17244D7E D41871BD 428E18D4 D4E77142 BD8EE7D4 7EB2DB17 E824B27E
7E4DDBE8 17244D7E D41871BD 428E18D4 D4E77142 BD8EE7D4 7EB2DB17 E824B27E
F3=417214D8 7DB1281B EB274172 D7E47DB1 B17DE4D7 8DBED814 1B28B17D 27EB8DBE
417214D8 7DB1281B EB274172 D7E47DB1 B17DE4D7 8DBED814 1B28B17D 27EB8DBE
F4=144EE441 B114BEE4 4EEBBEE4 144E1BBE 8D287D27 D78DD87D D78D2782 72D77D27
144EE441 B114BEE4 4EEBBEE4 144E1BBE 8D287D27 D78DD87D D78D2782 72D77D27
F5=488B7B47 IDDEDlED B88474B7 EDDIDE1D 122EDE1D 477B74B7 1DDE2EI2 488B84B8
488B7B47 1DDED1ED B88474B7 EDD1DE1D 122EDE1D 477B74B7 1DDE2E12 488B84B8
F6=1DB78BDE D17B4712 1D488B21 2E7BB812 2E7B47ED 1D4874DE D17BB8ED IDB77421
1DB78BDE D17B4712 ID488B21 2E7BB812 2E7B47ED 1D4874DE D17BB8ED 1DB77421
(2) 16-ary quasi-orthogonal code masks of size 256 are:
F1=77B4B477 774BB488 87BB4478 78BBBB78 77B44B88 774B4B77 78444478 8744BB78
F2=7E4DDBE8 17244D7E D41871BD 428E18D4 D4277142 BD8EE7D4 7EB2DB17 E824B27E
F3=417214D8 7DB1281B EB274172 D7E47DB1 B17DE4D7 8DBED814 1B28B17D 27EB8DBE
F4=144EE441 B114BEE4 4EEBBEE4 144E1BBE 8D287D27 D78DD87D D78D2782 72D77D27
F5=488B7B47 1DDED1ED B88474B7 EDD1DE1D 122EDE1D 477B74B7 1DDE2E12 488B84B8
F6=1DB78BDE D17B4712 1D488B21 2E7BB812 2E7B47ED 1D4874DE D17BB8ED 1DB77421
(3) 16-ary quasi-orthogonal masks of size 128 are:
F1=17DBBD71 E8DB4271 17DBBD71 E8DB4271
F2=72824EBE BEB17D72 72824EBE BEB17D72
F3=2DEE87BB 8744D2EE 2DEE87BB 8744D2EE
(4) 16-ary quasi-orthogonal masks of size 64 are:
F1=17DBBD71 E8DB4271
F2=72824EBE BEB17D72
F3=2DEE87BB 8744D2EE
Correlation values between quasi-orthogonal codes generated by using the above quasi-orthogonal code masks and Walsh codes are listed in Table 1.
Basic orthogonal codes are defined as orthogonal codes EX-ORed with the quasi-orthogonal code masks to generate quasi-orthogonal codes and to indicate Walsh codes. The Walsh codes may be from different layers of different lengths only if they ensure orthogonal channelization among code channels. However, to make the best use of the correlation characteristics as given by Table 1, it is preferable that the lowest-layer Walsh codes or longest Walsh codes be used as the basic orthogonal codes. Herein, the length of the basic orthogonal codes is defined as L.
FIG. 1 is a schematic block diagram of a transmitter in a CDMA communications system using the above quasi-orthogonal codes. Referring to FIG. 1, reference numerals 140 and 170 denote typical channel encoders and interleavers. Signal mappers 112, 142, and 172 change 0s and 1s of input data to signal levels +1s and xe2x88x921s, respectively. Demultiplexers 144 and 174 separate traffic channel data into I-channel data and Q-channel data for QPSK (Quadrature Phase Shift Keying) transmission. The demultiplexers 144 and 174 may be serial-to-parallel converters (SPCs). In the case of BPSK (Binary Phase Shift Keying) modulation of the traffic channel data, the demultiplexers 144 and 174 are omitted and data is sent on an I channel and a Q channel.
A Walsh code symbol W #0 generator 116 generates a Walsh code symbol W #0 as being a basic orthogonal code to spread a pilot channel. The pilot channel is used for channel estimation in a receiver. A mixer 118 multiplies the output of the Walsh code symbol W #0 generator 116 by the output of the signal mapper 112 for orthogonal spreading of the pilot channel signal, and feeds the orthogonally spread pilot channel signal to an adder 162. A Walsh code symbol W #A generator 146 generates a Walsh code symbol W #A as being a basic orthogonal code. Mixers 148 and 158 multiply the output of the Walsh code symbol W #A generator 146 by I channel data and Q channel data received from the demultiplexer 144 to produce a spread signal. Gain controllers 150 and 160 control the relative gain of a traffic channel relative to the pilot channel.
A Walsh code symbol W #a generator 176 generates a Walsh code symbol W #a as being a basic orthogonal code. A quasi-orthogonal code mask M #m generator 186 generates a quasi-orthogonal code mask used to generate a quasi-orthogonal code from a basic orthogonal code. Mixers 178 and 188 multiply the outputs of the Walsh code symbol W #a generator 176 and the quasi-orthogonal code mask M #m generator 186, thereby producing a quasi-orthogonal code symbol Q[m]#a which belongs to a quasi-orthogonal code Q[m] and spreads the quasi-orthogonal code symbol Q[m] by multiplying the quasi-orthogonal code symbol Q[m] by the I channel and Q channel data received from the demultiplexer 174. Gain controllers 180 and 190 control the relative gain of the traffic channel spread by a quasi-orthogonal code relative to the pilot channel. Adders 162 and 192 add the I channel signals and Q channel signals, respectively, and output S_I[n] and S_Q[n]. A PN (Pseudo Noise) code generator 120 generates two PN sequences PN_I[n] and PN_Q[n] for complex PN spreading. A complex PN spreader 130 performs the following complex PN spreading on the outputs of the adders 162 and 192 with the output of the PN code generator 120.
(Sxe2x80x94I[n]+jSxe2x80x94Q[n])(PNxe2x80x94I[n]+jPNxe2x80x94Q[n])=(Sxe2x80x94I[n]PNxe2x80x94I[n]xe2x88x92Sxe2x80x94Q[n]PNxe2x80x94Q[n])+j(Sxe2x80x94I[n]PNxe2x80x94Q[n]+Sxe2x80x94Q[n]PNxe2x80x94[n])
The I channel signal (S_I[n]PN_I[n]xe2x88x92S_Q[n]PN_Q[n]) and the Q channel signal (S_I[n]PN_Q[n]+Sxe2x88x92Q[n]PN_I[n]) of the complex PN spread signal are applied to the inputs of low pass filters (LPFs) 164 and 194, respectively. Amplifiers 166 and 196 adjust the magnitude of a transmit signal to an intended level. A carrier generator 122 generates a carrier needed to upconvert the frequency of the transmit signal to a high frequency. A 90xc2x0 phase shifter 124 produces a 90xc2x0-phase difference between the I channel and the Q channel. Mixers 168 and 192 multiply the outputs of the amplifiers 166 and 196 by the carrier for modulation of the transmit signal. An adder 126 adds the modulated I channel and Q channel signals and a transmission antenna 128 transmits the output of the adder 126.
FIG. 2 is a block diagram of a conventional receiver in the CDMA system using the quasi-orthogonal codes. A reception antenna 228 receives a modulated signal from a transmitter. A carrier generator 222 generates a carrier necessary to downconvert the frequency of the received signal to a baseband frequency. A 90xc2x0 phase shifter 224 produces a 90xc2x0-phase difference between an I channel and a Q channel. Mixers 268 and 298 multiply the received signal by the carrier for demodulation, and LPFs 264 and 294 remove high frequency components generated during the demodulation and pass only baseband signals.
Generally, a plurality of paths exist in which a signal transmitted from a transmitter can reach a receiver in the mobile radio environment. However, a signal reception mechanism is identical for each path. Accordingly, a description of a signal reception mechanism will herein be described with reference to one path.
A PN (Pseudo Noise) code generator 220 generates PN sequences PN_I[n] and PN_Q[n] which are synchronized with the received signal through demodulation. A complex PN despreader 230 computes the low-pass-filtered signals and the PN sequences by the following arithmetic procedure:
(Sxe2x80x94I[n]PNxe2x80x94I[n]xe2x88x92Sxe2x80x94Q[n]PNxe2x80x94Q[n])+j(Sxe2x80x94I[n]PNxe2x80x94Q[n]+Sxe2x80x94Q[n]PNxe2x80x94I[n])(PNxe2x80x94I[n]+jPNxe2x80x94Q[n])=
(Sxe2x80x94I[n]+jSxe2x80x94Q[n])(PNxe2x80x94I[n]+jPNxe2x80x94Q[n])(PNxe2x80x94I[n]+jPNxe2x80x94Q[n])=Sxe2x80x94I[n]+jSxe2x80x94Q[n]
A channel estimator 210 performs channel estimation for each path using a pilot channel spread by a Walsh code symbol W #0. A Walsh code symbol W #0 generator 216 generates the Walsh code symbol W #0. A mixer 214 complex-multiplies the output of the complex PN despreader 230 by the output of the Walsh code symbol W #0 generator 216. An accumulator 212 accumulates the output of the mixer 214 for every predetermined time period to extract a channel estimation value. For this purpose, the accumulator 212 can be replaced with an LPF. The channel estimation value is used to demodulate a traffic channel. The traffic channel data is obtained by multiplying the output of the complex PN despreader 230 by a quasi-orthogonal code symbol Q[m] #a for the traffic channel.
A mixer 254 multiplies the output of a Walsh code symbol W #a generator 276 by the output of a quasi-orthogonal code mask M #m generator 286 to produce the quasi-orthogonal code symbol Q[m]#a, and then multiplies the quasi-orthogonal code symbol Q[m] #a by the output of the complex PN despreader 230. An accumulator 252 accumulates the output of the mixer 254 in data symbol units. A delay 250 delays the output of the accumulator 252 by the time required for the channel estimation in the channel estimator 210. A complex conjugator 206 generates the complex conjugate of the channel estimation value received from the channel estimator 210 for demodulation. A mixer 204 produces a demodulated signal by multiplying the complex conjugate of the channel estimation value by the output of the delay 250.
A combiner 202 combines demodulated multipath signals through the above reception mechanism. A deinterleaver and channel decoder 200 deinterleaves and channel decodes the output of the combiner 202.
The above conventional receiver experiences orthogonality loss between channels due to the coexistence of orthogonal codes with quasi-orthogonal codes. Accordingly, it is impossible to reduce mutual interference between the orthogonal codes and the quasi-orthogonal codes.
An object of the present invention is to provide a device and method for cancelling interference of a signal received by a receiver in a CDMA communication system.
Another object of the present invention is to provide a device and method for cancelling interference of an orthogonal code with a quasi-orthogonal code caused by orthogonality loss of a signal received by a receiver in a CDMA communication system where the orthogonal codes coexist with the quasi-orthogonal codes.
A further object of the present invention is to provide a device and method for cancelling interference of a quasi-orthogonal code with an orthogonal code caused by orthogonality loss of a signal received by a receiver in a CDMA communication system where the orthogonal codes coexist with the quasi-orthogonal codes.
To achieve the above objects, a receiver is provided in a CDMA communication system which simultaneously uses orthogonal codes and quasi-orthogonal codes. In a receiver according to an embodiment of the present invention, a channel estimator produces a channel estimation value of a pilot channel signal spread by an orthogonal code through despeading. A quasi-orthogonal channel receiver receives a channel signal spread by a quasi-orthogonal code, despreads the channel signal, demodulates the despread channel signal by use of the channel estimation value, and provides an output. An interference estimator estimates an interference value of the pilot channel signal with the channel signal spread by the quasi-orthogonal code by obtaining a correlation value between the orthogonal code corresponding to a pilot channel and the quasi-orthogonal code corresponding to a quasi-orthogonal channel. An interference canceller cancels the estimated interference from the output of the quasi-orthogonal channel receiver.